package org.jeecg.modules.xxgx.hzsqgl.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import javax.xml.bind.annotation.XmlElement;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Description: 红字信息表打印数据格式
 * @Author: jeecg-boot
 * @Date:   2023-09-22
 * @Version: V1.0
 */
@Data
@ApiModel(value="红字信息表打印数据格式", description="红字信息表打印数据格式")
public class CsXxHzsqjsPrint {

	/**编号*/
	@ApiModelProperty(value = "编号")
    private String id;

	/**红字信息表编号*/
	@ApiModelProperty(value = "红字信息表编号")
    private String xxbbh;
	/**申请单号*/
	@ApiModelProperty(value = "申请单号")
    private String sqdh;

	/**申请流水号*/
	@Excel(name = "申请流水号", width = 15)
	@ApiModelProperty(value = "申请流水号")
	private String sqlsh;

	@ApiModelProperty(value = "购方税号")
	private String gfsh;
	@ApiModelProperty(value = "购方名称")
	private String gfmc;
	@ApiModelProperty(value = "销方税号")
	private String xfsh;
	@ApiModelProperty(value = "销方名称")
	private String xfmc;

	@ApiModelProperty(value = "合计金额")
	private BigDecimal hjje;

	@ApiModelProperty(value = "合计税额")
	private BigDecimal hjse;
	@ApiModelProperty(value = "合计税额")
	private BigDecimal se;

	@ApiModelProperty(value = "价税合计")
	private BigDecimal jshj;

	/**
	 * 使用状态：0-未使用；1-已使用 默认值为0
	 */
	@ApiModelProperty(value = "使用状态")
	private String syzt="0";

	@ApiModelProperty(value = "申请理由描述")
	private String mssqly = "";

	@ApiModelProperty(value = "上传标志 0未上传 1已上传")
	private String scbz;

	@ApiModelProperty(value = "申请方式 0：全部冲红 1：部分冲红")
	private String sqfs;

	@ApiModelProperty(value = "0 已抵扣 1 未抵扣 2 销方申请")
	private String sqly;

	@ApiModelProperty(value = "数据来源(1:自行上传,2:税控服务器提供)")
	private String fro;
	@ApiModelProperty(value = "联系电话")
	private String lxdh;
	@ApiModelProperty(value = "纳税人识别号")
	private String nsrsbh;

	@ApiModelProperty(value = "申请日期")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date sqrq;

	/**
	 * 标志  0：手动审批、手动上传  1：手动审批、自动上传 2：自动审批、自动上传
	 */
	@ApiModelProperty(value = "标志")
	private String zdbz = "2";

	/**
	 * 定时任务标志(0:待处理,1:更新上传状态中,2:上传状态更新结束)
	 */
	@ApiModelProperty(value = "标志")
	private String dsrwbz;
	@ApiModelProperty(value = "处理状态")
	private String clzt;
	@ApiModelProperty(value = "原全电发票号码")
	private String yqdfphm;

	/**
	 * 成品油类型(0:非成品油,1:涉及销售数量变更,2:涉及销售金额变更)
	 */
	@ApiModelProperty(value = "成品油类型")
	private String cpy_type;
	/**
	 * 机动车类型(0:非机动车,1:机动车销售退回,2:机动车销售折让)
	 */
	@ApiModelProperty(value = "机动车类型")
	private String jdc_type;
	@ApiModelProperty(value = "开票日期")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JSONField(format = "yyyy-MM-dd")
	private Date kprq;

	@ApiModelProperty(value = "")
	private String sqfjbr;

	@ApiModelProperty(value = "发票代码")
	private String fpdm;
	@ApiModelProperty(value = "发票号码")
	private String fphm;
	@ApiModelProperty(value = "冲红原因代码")
	private String chyydm;
	@ApiModelProperty(value = "开票点代码")
	private String kpddm;
	@ApiModelProperty(value = "征税方式")
	private String zsfs;

	@ExcelCollection(name="红字申请表明细")
	@ApiModelProperty(value = "红字申请表明细")
	private List<Hzsqjsmx> fpmx;

	@Data
	public static class Hzsqjsmx {

		/**申请流水号*/
		@ApiModelProperty(value = "申请流水号")
		private String sqlsh;


		/**行号*/
		@ApiModelProperty(value = "行号")
		private String mxhh;
		/**商品名称*/
		@ApiModelProperty(value = "商品名称")
		private String spmc;

		/**规格型号*/
		@ApiModelProperty(value = "规格型号")
		private java.lang.String ggxh;
		/**计量单位*/
		@ApiModelProperty(value = "计量单位")
		private java.lang.String dw;
		/**商品数量*/
		@ApiModelProperty(value = "商品数量")
		private java.math.BigDecimal spsl;
		/**单价*/
		@ApiModelProperty(value = "单价")
		private java.math.BigDecimal dj;
		/**金额*/
		@ApiModelProperty(value = "金额")
		private java.math.BigDecimal je;

		/**税率*/
		@ApiModelProperty(value = "税率")
		private java.math.BigDecimal tax;
		/**税额*/
		@ApiModelProperty(value = "税额")
		private java.math.BigDecimal se;
		/**含税标志*/
		@ApiModelProperty(value = "含税标志")
		private String hsbz;
		/**税收编码*/
		@ApiModelProperty(value = "税收编码")
		private java.lang.String spbm;
		/**自行编码*/
		@ApiModelProperty(value = "自行编码")
		private java.lang.String zxbm;
		/**零税率*/
		@ApiModelProperty(value = "零税率")
		private java.lang.String lslbs;
		/**优惠政策*/
		@ApiModelProperty(value = "优惠政策")
		private java.lang.String yhzcbs;
		/**增值税特殊管理*/
		@XmlElement(name = "zzstsgl")
		private java.lang.String zzstsgl;
	}

}
